/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

export type TrackEventName =
  | 'CommitContextMenuItemClick'
  | 'ClickedRefresh'
  | 'ClientConnection'
  | 'LoadMoreCommits'
  | 'RunOperation'
  | 'TopLevelErrorShown'
  | 'UIEmptyState'
  | 'HeadCommitChanged'
  | 'AbortMergeOperation'
  | 'PullOperation'
  | 'PushOperation'
  | 'AddOperation'
  | 'AddRemoveOperation'
  | 'AICodeReviewInitiatedFromISL'
  | 'AICodeReviewCompleted'
  | 'AlertShown'
  | 'AlertDismissed'
  | 'AmendMessageOperation'
  | 'AmendOperation'
  | 'AmendFileSubsetOperation'
  | 'AmendToOperation'
  | 'ArcPullOperation'
  | 'ArcStableForCommand'
  | 'ArcStableServerStablesCommand'
  | 'BulkRebaseOperation'
  | 'BookmarksCommand'
  | 'BookmarkCreateOperation'
  | 'BookmarkDeleteOperation'
  | 'CommitOperation'
  | 'CommitFileSubsetOperation'
  | 'ContinueMergeOperation'
  | 'CommitCloudStatusCommand'
  | 'CommitCloudListCommand'
  | 'CommitCloudSyncBackupStatusCommand'
  | 'CommitCloudChangeWorkspaceOperation'
  | 'CommitCloudCreateWorkspaceOperation'
  | 'CommitCloudSyncOperation'
  | 'CreateEmptyInitialCommit'
  | 'ClickGotoTimeButton'
  | 'ClickPullButton'
  | 'ClickSuggestedRebase'
  | 'ClickedConfigureExternalMergeTool'
  | 'DevmateFillCommitMessage'
  | 'DevmateResolveAllConflicts'
  | 'DiscardOperation'
  | 'DiagnosticsConfirmationOpportunity'
  | 'DiagnosticsConfirmationAction'
  | 'DiffFetchSource'
  | 'EnterMergeConflicts'
  | 'EdenWatcherEvent'
  | 'ExitMergeConflicts'
  | 'FetchPendingSloc'
  | 'FetchSloc'
  | 'ForgetOperation'
  | 'FoldOperation'
  | 'FillCommitMessage'
  | 'FocusChanged'
  | 'SetFocusMode'
  | 'GettingStartedInteraction'
  | 'GetSuggestedReviewers'
  | 'GetAlertsCommand'
  | 'AcceptSuggestedReviewer'
  | 'GenerateAICommitMessage'
  | 'GenerateAICommitMessageFunnelEvent'
  | 'GenerateAITestPlan'
  | 'GenerateAITestPlanFunnelEvent'
  | 'GhStackSubmitOperation'
  | 'GotoOperation'
  | 'GoBackToOldISL'
  | 'GoBackToOldISLOnce'
  | 'GoBackToOldISLReason'
  | 'GraftOperation'
  | 'HideOperation'
  | 'ImportStackOperation'
  | 'LandModalOpen'
  | 'LandModalConfirm'
  | 'LandModalSuccess'
  | 'LandModalError'
  | 'LandModalUriLandShown'
  | 'LandModalCliLandShown'
  | 'LandRoadblockShown'
  | 'LandRoadblockContinue'
  | 'LandRoadblockContinueExternal'
  | 'LandSyncWarningShown'
  | 'LandSyncWarningChoseUseRemote'
  | 'LandSyncWarningChoseSyncLocal'
  | 'NopOperation'
  | 'PartialCommitOperation'
  | 'PartialAmendOperation'
  | 'PartialDiscardOperation'
  | 'PhabricatorGenAIFunnelEvent'
  | 'PhabricatorCommentOpporunity'
  | 'PhabricatorCommentShown'
  | 'PhabricatorCommentResolve'
  | 'PhabricatorCommentUnresolve'
  | 'PhabricatorCommentsHideInEditor'
  | 'PhabricatorCommentsShowInEditor'
  | 'PhabricatorCommentsInsetHide'
  | 'PhabricatorCommentsInsetShow'
  | 'PhabricatorCommentsAIResolve'
  | 'PhabricatorRollbackPlanEvent'
  | 'PrSubmitOperation'
  | 'PullOperation'
  | 'PullRevOperation'
  | 'PurgeOperation'
  | 'RebaseWarningTimeout'
  | 'RebaseKeepOperation'
  | 'RebaseAllDraftCommitsOperation'
  | 'RebaseOperation'
  | 'ConfirmDragAndDropRebase'
  | 'ResolveOperation'
  | 'AutoMarkResolvedOperation'
  | 'ResolveInExternalMergeToolOperation'
  | 'UsingExternalMergeTool'
  | 'RevertOperation'
  | 'RmOperation'
  | 'RunMergeDriversOperation'
  | 'SetConfigOperation'
  | 'ShelveOperation'
  | 'DeleteShelveOperation'
  | 'UnshelveOperation'
  | 'RunCommand'
  | 'StatusCommand'
  | 'SawStableLocation'
  | 'LogCommand'
  | 'LookupCommitsCommand'
  | 'LookupAllCommitChangedFilesCommand'
  | 'GetShelvesCommand'
  | 'GetConflictsCommand'
  | 'BlameCommand'
  | 'CatCommand'
  | 'DiffCommand'
  | 'FetchCommitTemplateCommand'
  | 'ImportStackCommand'
  | 'ExportStackCommand'
  | 'ExitMessageOutOfOrder'
  | 'ShowBugButtonNux'
  | 'SmartActionClicked'
  | 'SmartActionsMenuOpened'
  | 'StackEditMetrics'
  | 'StackEditChangeTab'
  | 'StackEditInlineSplitButton'
  | 'SplitOpenFromCommitContextMenu'
  | 'SplitOpenFromHeadCommit'
  | 'SplitOpenFromSmartActions'
  | 'SplitOpenRangeSelector'
  | 'AISplitButtonClick'
  | 'SuccessionsDetected'
  | 'BuggySuccessionDetected'
  | 'SyncDiffMessageMutation'
  | 'ConfirmSyncNewDiffNumber'
  | 'UncommitOperation'
  | 'JfSubmitOperation'
  | 'JfGetOperation'
  | 'JumpToInlineComment'
  | 'OptimisticFilesStateForceResolved'
  | 'OptimisticCommitsStateForceResolved'
  | 'OptimisticConflictsStateForceResolved'
  | 'OpenAllFiles'
  | 'OpenComments'
  | 'QueueOperation'
  | 'QueueCancelledWarningShown'
  | 'RecoverCommitMessageFromOperationError'
  | 'QueryGraphQL'
  | 'UploadImage'
  | 'RunVSCodeCommand'
  | 'RageCommand'
  | 'RepoUrlCommand'
  | 'BlameLoaded'
  | 'VSCodeExtensionActivated'
  | 'UseCustomCommitMessageTemplate'
  | 'SlocCommand'
  | 'SplitSuggestionError'
  | 'SplitOpenFromSplitSuggestion'
  | 'PendingSlocCommand'
  | 'SplitSuggestionsDismissedForSevenDays'
  | 'WarnAboutRebaseOffWarm'
  | 'WarnAboutDistantRebase'
  | 'WarnAboutRebaseOntoMaster'
  | 'WarnAboutSuggestedEdits'
  | 'WatchmanEvent'
  | 'SaplingISLUriHandlerHandle'
  | 'CommitInfoFieldEditFieldClick'
  | 'ReadWarmCommit'
  | 'RecommendedBookmarksStatus'
  | 'RecommendedBookmarksToggle'
  | 'RecommendedBookmarksReminderResponse'
  | 'PullFullRepoBranchOperation'
  | 'SubtreeMergeOperation';

export type TrackErrorName =
  | 'BlameError'
  | 'DiffFetchFailed'
  | 'EdenFsUnhealthy'
  | 'EdenWatcherError'
  | 'InvalidCwd'
  | 'InvalidCommand'
  | 'JfNotAuthenticated'
  | 'GhCliNotAuthenticated'
  | 'GhCliNotInstalled'
  | 'LandModalError'
  | 'TopLevelError'
  | 'FetchError'
  | 'RunOperationError'
  | 'RunCommandError'
  | 'RepositoryError'
  | 'SyncMessageError'
  | 'UploadImageError'
  | 'VSCodeCommandError'
  | 'VSCodeActivationError'
  | 'SplitSuggestionError'
  | 'FileReadError'
  | 'WatchmanError'
  | 'AICodeReviewError';
